The present invention relates a data processing apparatus and method and is suitably applied to a transmitter of a digital video broadcast (DVB) system, for example.
Heretofore, there is a MPEG2 (Moving Picture Experts Group Phase 2) as a method of compression-encoding video data and audio data. This MPEG2 scheme is standardized (for example, recommendation, H.222.0) by an association such as ITU-T (International Telecommunication Union-Telecommunication Standardization Sector), to compression-encode, multiplex, store, and transmit video data and audio data.
In actual, in this MPEG2 scheme, a data form referred to a program stream (PS) and a data form referred to a transport stream (TS) are standardized as a data form for multiplexing compression-encoded video data and compression-encoded audio data. In this connection, the PS data form is applied to the case of storing multiplexed video data and audio data in a predetermined digital storing medium, and the TS data form is applied to the case of transmitting multiplexed video data and audio data.
Here, for example, the TS data form is so standardized that compression-encoded video data and audio data are converted into packets (hereinafter this is referred to TS (transport stream) packets) every predetermined unit (for example, every 188-byte data), and each of the resultant TS packets is subjected to time division multiplexing to form a TS packet stream (that is, a transport stream).
Note that, as shown in FIG. 17, the TS packet 1 is composed of a header part and a data part, in which the header part stores a synchronization byte, a packet identification (hereinafter, this is referred to as a PID (packet identification)) and other kinds of packet control data and the data part stores compression-encoded video data or audio data. In this connection, the synchronization byte is data showing the beginning of the TS packet 1, and the PID is data showing the content of information stored in the TS packet 1.
However, in recent years, a digital video broadcast system has been considered to compression-encode and multiplex video data and audio data with the MPEG2 scheme described above and then broadcast using a ground wave, a satellite wave, a cable, or the like. Such digital video broadcast system has been considered to be capable of broadcasting a plurality of television programs with one circuit by converting compression-encoded video data and audio data into TS packets and multiplexing them, as described above.
In actual, in a transmitter, for example, a transport stream is formed by forming TS packets at different timings with each encoder, and is supplied to a multiplexer. Thereby the multiplexer sequentially reads a plurality of TS packets included in the transport stream in an arrival order without overlap and moreover transmits them in the same order to perform multiplexing processing.
That is, normally, the multiplexer is composed of an input unit of being supplied with a transport stream from each encoder and a multiplexing unit for sequentially reading each transport stream from the input unit in a unit of TS packet included in the transport stream. For example, as shown in FIG. 18, the first TS packet corresponding to a television program for the first channel CH1 is supplied so as to arrive at the input unit at timing of time xe2x80x9cnxe2x80x9d when the TS packet is formed (FIG. 18A), and the second TS packet corresponding to a television program for the second channel CH2 is supplied so as to arrive at the input unit at timing of time xe2x80x9cn+cxe2x80x9d when the second TS packet is formed, with keeping a packet interval Sets (FIG. 18B).
Therefore, in the transmitter, the order in which the TS packet arrives at the multiplexing unit is the same as the order of TS packets included in the transport stream TS1 formed by performing multiplexing with the multiplexing unit. In this connection, each of the TS packets included in the transport stream TS formed in the multiplexing unit delays by a processing time d required to the multiplexing processing of the multiplexing unit (FIG. 18C).
In this way, the digital video broadcast system has been considered, in which TS packets corresponding to a desired channel out of the TS packets included in the transport stream TS1 received as a transmission signal from a receiver are sequentially decoded in the receiving order, thereby making it possible to accurately reproduce video data and audio data corresponding to the TS packets.
However, in each encoder of the aforementioned digital video broadcast system, the processing time required to encoding processing and packetizing processing is varied depending on the amount of supplied video data and the amount of supplied audio data, and it takes a long time after the multiplexing unit reads a TS packet which arrives first until a TS packet which arrives next is supplied to the multiplexing unit. As a result, a delay time required to the multiplexing processing may not be fixed in the TS packets.
That is, in the multiplexer, such a case may occur that, as shown in FIG. 19, while the multiplexing unit reads the first TS packet P1 corresponding to the first channel CH1 which arrives at the input unit first (FIG. 19A), the second TS packet P2 corresponding to the second channel CH2 to be read next does not arrive yet (FIG. 19B), and the second TS packet P2 arrives at xe2x80x9ccxe2x80x9d time after finishing to read of the first TS packet P1 (FIG. 19C).
Therefore, a gap g is generated between the first TS packet P1 and the second TS packet P2 out of the TS packets included in the transport stream TS2 formed in the multiplexing unit (FIG. 19). This case has been considered to cause a problem that, if the receiver decodes and reproduces the first TS packet P1 and the second TS packet P2, a picture and voice are interrupted by the gap g generated between the first TS packet P1 and the second TS packet P2.
Here, assuming that the number of channels to be input to the multiplexer is n and channels are represented as the channel 1, channel 2, channel 3, . . . , channel n, a delay time due to the multiplexing for the channel 1 to the channel n will be explained. In this case, it is assumed that input rates for the channel 1 to channel n are R1, R2, R3, . . . , Rn [bits/sec] respectively, and that the number of bits buffered in memories (FIFO) for the channel 1 to the channel n are V1, V2, V3, . . . , Vn [bits] respectively. In addition, it is assumed that an output rate of outputting each multiplexed TS packet from the multiplexer is R [bits/sec]. Firstly, with respect to each TS packet to be input to the multiplexer, each encoder of a former stage performs such statistics multiplexing processing that the sum (R1+R2+R3+ . . . +Rn [bit/sec]) of input rates for the channel 1 to the channel n is equal to the output rate R [bits/sec]. In the statistics multiplexing processing, the input rates for the channel 1 to the channel n are varied. In this case, the sum (R1+R2+R3+ . . . +Rn [bit/sec]) of the input rates is obtained by the following equation (1) to be equal to the output rate R [bits/sec];
R=R1+R2+R3+ . . . +Rn [bits/sec]xe2x80x83xe2x80x83(1)
Since the transmission capacity for output is generally decided in advance, it can be assumed that the output rate R [bits/sec]) is fixed. Assuming that the total number of bits buffered in the memories for the channel 1 to the channel n is V [bits], the total V [bits] is obtained by the following equation (2);
V=V1+V2+V3+ . . . +Vn [bits]xe2x80x83xe2x80x83(2)
In this case, since the sum of the input rates (R1+R2+R3+ . . . +Rn [bits/sec]) is the output rate R [bits/sec], the total number V [bits] of bits is always fixed.
Here, the delay time for the first channel 1 will be calculated. In the case where the input rate is R1 [bits/sec] and the number of buffered bits is V1 [bits], the delay time D1 is as follows;                     D1        =                              V1            R1                    ⁢                      xe2x80x83                    [          sec          ]                                    (        3        )            
Further, if the TS packets are read out from the memories (FIFO) in the input order and are multiplexed, the number of bits buffered in each of the channel 1 to the channel n is the ratio of the rates, so that the number of bits V1 [bits] buffered in the memory (FIFO) for the channel 1 is as follows;                     V1        =                                            R1              xc3x97              V                                      R1              +              R2              +              R3              +              …              +                              R                ⁢                                  xe2x80x83                                ⁢                n                                              ⁢                      xe2x80x83                    [          bits          ]                                    (        4        )            
Therefore, substituting the equation (1) for the equation (4) is as follows;                     V1        =                                            R1              xc3x97              V                        R                    ⁢                      xe2x80x83                    [          bits          ]                                    (        5        )            
Further, the delay time D1 in the case of performing multiplexing in the input order is obtained by the following equation (6) by taking V1 away from the equation (3) and the equation (5);                     D1        =                              V            R                    ⁢                      xe2x80x83                    [          sec          ]                                    (        6        )            
Here, the output rate R [bits/sec] and the total number V [bits] of bits buffered in the memories (FIFO) for the channel 1 to the channel n are fixed as mentioned above, so that the delay time D1 in the channel 1 is fixed irrespective of the variation of the input rate R1.
In this connection, if multiplexing is performed in the order of larger number of bits buffered in the memories (FIFO), all channels have the equivalent number of bits therein. Therefore, the number of buffered bits V1 [bits] is obtained by the following equation, by dividing V into n;                     V1        =                              V            n                    ⁢                      xe2x80x83                    [          bits          ]                                    (        7        )            
In this case, the delay time D1 when the buffered bits are multiplexed in the order of larger number is obtained by the following equation (8) by taking V1 [bits] away from the aforementioned equation (3) and equation (7).                     D1        =                              V                          n              xc3x97              R1                                ⁢                      xe2x80x83                    [          sec          ]                                    (        8        )            
Therefore, the equation (8) means that the delay time D1 is varied according to the variation of the input rate R1 [bits/sec] because the total number of buffered bits V [bits/sec] and the number of channels n are fixed. Therefore, if the input rate R1 is sometimes varied as in the case of the statistics multiplexing, the delay time D1 of the channel are also varied accordingly.
Thus, in this case, a multiplexing algorithm method is desirable, in which a delay time required to perform the multiplexing processing in each of the channel 1 to the channel n is not varied even if the TS packets input to each channel are read out and multiplexed in the order of writing to the memory (FIFO). In the multiplexing algorithm method, it is possible to easily prevent the buffer memory in the latter stage of decoder (IRD) from overflow and underflow.
As a multiplexing processing method using such a multiplexing algorithm method, a method is considered in which a time stamp having a predetermined length is added to every TS packet in a stage prior to the multiplexing processing and the value of PCR (Program Clock Reference) previously stored in every TS packet is corrected based on the time stamp to keep the delay time of TS packets constant.
However, in a DVB-ASI (Asynchronous Serial Interface) standard in the digital video broadcast system, a signal obtained by serial-to-parallel converting a serial signal of 270 [MHz] is transmitted every 8 [bits] with 27 [MHz], and when each TS packet is multiplexed, intervals (hereinafter, these are referred to as stream intervals) between TS packets are standardized so as to be over 2 [byte].
Therefore, there is no problem in the case where the data length of the time stamp is shorter than the stream interval, however, the aforementioned multiplexing algorithm is very difficult to be applied in the case where the data length of the time stamp is longer than the stream interval.
Therefore, as a method of keeping the delay time of TS packets constant, other than such multiplexing algorithm method, a method has been proposed in which a timer is provided in every channel and time information based on the each timer is assigned to a corresponding TS packet in succession. However, according to this method, the structure of the whole multiplexer becomes complicated because a timer is provided in every channel, so that it is not enough to have practical use.
The present invention has been made in view of the aforesaid conventional problems, and is intended to a data processing apparatus and method capable of further improving transmission efficiency for packetized data.
To solve such problems, the present invention provides a data processing apparatus and method that adds redundant data to supplied data every predetermined unit to packetize it, and outputs the packetized data in the predetermined unit as a sequence of packets. After eliminating the redundant data from each packet by a data eliminating means, absolute time information is added to each packet from which the redundant data is eliminated, by a time information adding means. Then, after forming a sequence of packets based on sequentially-supplied packets by a packet forming means, each of the time information previously added to the corresponding packets is corrected based on the absolute time information added to each packet. And, after eliminating the absolute information from each packet having the corrected time information by a time information eliminating means, the redundant data is added to each packet from which the absolute time information is eliminated, by a data adding means.
As a result, even the case where the transmission rate of packets is varied at the time of forming a sequence of packets from the packets, the time information previously added to each packet can be corrected based on the absolute time information previously added to each of the packets forming the sequence of packets.
Thus, a data processing apparatus and method capable of further improving the transmission efficiency for packetized data can be realized.